package com.atguigu.jxc.controller;

import com.atguigu.jxc.domain.ServiceVO;
import com.atguigu.jxc.entity.Role;
import com.atguigu.jxc.entity.Supplier;
import com.atguigu.jxc.service.RoleService;
import com.atguigu.jxc.service.SupplierService;
import org.apache.shiro.authz.annotation.Logical;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpSession;
import java.util.Map;

/**
 * @description 角色Controller控制器
 */
@RestController
@RequestMapping("/supplier")
public class SupplierController {

    @Autowired
    private SupplierService supplierService;


//    /**
//     * 保存用户登录时所选择的角色
//     * @param role
//     * @param session
//     * @return
//     */
//    @PostMapping("/saveRole")
//    public ServiceVO saveRole(@RequestBody Role role, HttpSession session) {
//        return supplierService.saveRole(role, session);
//    }
//
//    /**
//     * 查询所有角色信息
//     * @return
//     */
//    // 这里想表达的意思是当前用户拥有用户管理菜单权限或是角色管理菜单权限就可以访问该方法
//    // 但Shiro的该注解默认会把该逻辑表达成'与'的关系，所以我们需要手动指定逻辑关系为'或'
//    @RequestMapping("/listAll")
//    @RequiresPermissions(value = {"用户管理","角色管理"}, logical = Logical.OR)
//    public Map<String,Object> listAll() {
//        return supplierService.listAll();
//    }
//

    /**
     * 分页查询角色信息
     *
     * @param page         当前页数
     * @param rows         每页显示的记录数
     * @param supplierName 角色名
     * @return
     */
    @PostMapping("/list")
    public Map<String, Object> list(Integer page, Integer rows, String supplierName) {
        return supplierService.list(page, rows, supplierName);
    }


    /**
     * 添加或修改角色信息
     *
     * @param supplier
     * @return
     */
    @RequestMapping("/save")
    public ServiceVO save(Supplier supplier) {
        return supplierService.save(supplier);
    }


    /**
     * 删除供应商
     *
     * @param
     * @return
     */
    @RequestMapping("/delete")
    public ServiceVO delete(String ids) {
        return supplierService.delete(ids);
    }


}
//    /**
//     * 设置菜单权限
//     * @param roleId 角色ID
//     * @param menus 菜单数组字符串，用逗号分割
//     * @return
//     */
//    @RequestMapping("/setMenu")
//    @RequiresPermissions(value = "角色管理")
//    public ServiceVO setMenu(Integer roleId, String menus) {
//        return supplierService.setMenu(roleId, menus);
//    }
//}
